#include<stdio.h>
#include<conio.h>
int vmax, vmin, v;

struct binh{
int a,b;
};

void nhap(int *vmax, int *vmin, int *v)
{
printf("Nhap V cua binh lon = ");    scanf("%d",vmax);
printf("Nhap V cua binh nho = ");    scanf("%d",vmin);
printf("Nhap V can dong     = ");    scanf("%d",v);
}

binh F2(binh t1)
{
binh t2;
t2.a = t1.a;
t2.b = 0;
printf("\nDo het nuoc tu binh VNHO ta ngoai\t\t\t\t: ( %d , %d )",t2.a,t2.b);
return t2;
}

binh F3(binh t1)
{
binh t2;
t2.a = vmax;
t2.b = t1.b;
printf("\nDo nuoc tu ngoai vao day binh VLON\t\t\t: ( %d , %d )",t2.a,t2.b);
return t2;
}

binh F6(binh t1)
{
binh t2;
if(t1.a + t1.b >= vmin)
    {
    t2.a = t1.a + t1.b - vmin;
    t2.b = vmin;
    printf("\nDo nuoc tu binh VLON vao day binh VNHO\t\t: ( %d , %d )",t2.a,t2.b);
    }
else
    {
    t2.a = t1.a;
    t2.b = t1.b;
    }
return t2;
}

binh F7(binh t1)
{
binh t2;
if(t1.a + t1.b <= vmin)
    {
    t2.a = 0;
    t2.b = t1.a + t1.b;
    printf("\nDo het nuoc tu binh VLON sang binh VNHO\t: ( %d , %d )",t2.a,t2.b);
    }
else
    {
    t2.a = t1.a;
    t2.b = t1.b;
    }
return t2;
}

int main()
{
nhap(&vmax,&vmin,&v);
binh t1;
t1.a = 0;
t1.b = 0;
while(t1.a!=v)
{
    t1 = F7(t1);
    t1 = F3(t1);
    while(t1.a >= vmin && t1.a!=v)
    {
        t1 = F6(t1);
        if(t1.a !=v)    t1 = F2(t1);
    }
}
getch();
}
